ls *.png 2>/dev/null
ls *.png >/dev/null 2>&1

# 解释：

# >和>>都是重定向输出

# <0
# 1> 指标准信息输出路径（也就是默认的输出方式）
# 2> 指错误信息输出路径
# 2>&1 指将标准信息输出路径指定为错误信息输出路径（也就是都输出在一起）

# 习惯上
# 标准输入（standard input）的文件描述符是 0
# 标准输出（standard output）是 1
# 标准错误（standard error）是 2

# >   /dev/null   将输出重定向到/dev/null，这是个空设备，也就是忽略其输出。
# 2> &1     是将错误输出到标准输出，如果在控制台调试，也就是屏幕上，方便调试。
# 有3个默认的i/o，0是标准输入，一般是键盘；1是标准输出，一般是屏幕了；2是标准错误。

# 2>&1可以这么理解:把标准错误输出重定向>,通过后台&,放到标准输出所在的地方.因为是在后台运行,所以是看不见出错信息的.因此,&,可以理解成是后台行为.